package com.zpark.redis;

import redis.clients.jedis.Jedis;

import java.util.*;

/**
 * @PackageName: com.zpark.redis
 * @ClassName: RedisHash
 * @Description:
 * @author: RZS
 * @date: 2024/4/1  11:48
 */
public class RedisHash {
    public static void main(String[] args) {
        /**
         * hash数据类型常用API
         */
        // 获取redis对象
        Jedis jedis = new Jedis();
        // 设置访问密码
        jedis.auth("123456");

        // 准备存储数据
        Map<String, String> map = new HashMap<>();

        map.put("username", "大锤");
        map.put("age", "56");
        map.put("date", new Date().toString());

        // 添加一个hash元素
        jedis.hset("user", map);

        jedis.hset("user", "pwd", "123456");

        // 获取hash数据类型元素
        // 给定的field获取对应的元素
        String pwd = jedis.hget("user", "pwd");
        System.out.println("pwd: " + pwd);

        // 获取多个field的值
        List<String> hmget = jedis.hmget("user", "username", "age");
        System.out.println(hmget);

        // 获取所有的key-field
        Set<String> fields = jedis.hkeys("user");
        System.out.println(fields);

        // 获取所有field的val
        List<String> user = jedis.hvals("user");
        System.out.println(user);

        // 获取大小
        Long len = jedis.hlen("user");
        System.out.println(len);

        // 删除一个或者多个元素
        jedis.hdel("user", "pwd", "age");

        // 获取所有的key-field
        Set<String> fields1 = jedis.hkeys("user");
        System.out.println(fields1);

        // 获取所有field的val
        List<String> user1 = jedis.hvals("user");
        System.out.println(user1);



    }
}
